package entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="risco", schema="almirante")
@NamedQueries({ @NamedQuery(name = "listarRiscoPorProjeto", query = "FROM Risco r WHERE r.projeto.id = :idProjeto") 	
})

public class Risco implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2555564282327007711L;

	@Id
	@SequenceGenerator(name="risco_seq", sequenceName="id_risco_seq",schema="almirante")
	@GeneratedValue(strategy=GenerationType.AUTO, generator="risco_seq")
	@Column(name="id_risco")
	private Integer id;
	
	private String nomeRisco;
	
	private String descricao;
	
	@Enumerated
	@Column(name="gravidade")
	private GravidadeEnum gravidade;
	
	private String planoContingencia;
	
	private String planoPrevencao;
	
	private boolean manifestado;
	
	
	@ManyToOne
	@JoinColumn(name="id_projeto", referencedColumnName="id_projeto", nullable=false)
	private Projeto projeto;


	public Integer getId() {
		return id;
	}


	public void setId(Integer id) {
		this.id = id;
	}


	public String getNomeRisco() {
		return nomeRisco;
	}


	public void setNomeRisco(String nomeRisco) {
		this.nomeRisco = nomeRisco;
	}


	public String getDescricao() {
		return descricao;
	}


	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}


	public String getPlanoContingencia() {
		return planoContingencia;
	}


	public void setPlanoContingencia(String planoContingencia) {
		this.planoContingencia = planoContingencia;
	}


	public String getPlanoPrevencao() {
		return planoPrevencao;
	}


	public void setPlanoPrevencao(String planoPrevencao) {
		this.planoPrevencao = planoPrevencao;
	}


	public boolean isManifestado() {
		return manifestado;
	}


	public void setManifestado(boolean manifestado) {
		this.manifestado = manifestado;
	}


	public Projeto getProjeto() {
		return projeto;
	}


	public void setProjeto(Projeto projeto) {
		this.projeto = projeto;
	}


	public GravidadeEnum getGravidade() {
		return gravidade;
	}


	public void setGravidade(GravidadeEnum gravidade) {
		this.gravidade = gravidade;
	}
	
}
